DepartementModel

La classe DepartementModel représente un modèle pour interagir avec la table Department dans la base de données. Elle étend la classe de base Model et fournit des fonctionnalités spécifiques pour la gestion des départements.

Méthodes

getDepartmentsBySafer()

public static function getDepartmentsBySafer(): array

Description

Récupère un tableau de départements selon les critères de Safer. Cette méthode exécute une requête SQL pour obtenir les départements en joignant la table des départements (bng.tr_departement) avec la table des emails des départements (bng.safer_departement_email).

Exemple

<?php
$departments = DepartementModel::getDepartmentsBySafer();
// $departments = [
//     ['name' => 'Ain', 'code' => '01'],
//     ['name' => 'Aisne', 'code' => '02'],
//     ['name' => 'Allier', 'code' => '03'],
//     ...
// ];
?>

Retour

  • array : Un tableau de départements. Chaque département est représenté par un tableau associatif contenant les clés suivantes :
    • name : Le nom du département.
    • code : Le code du département.

Détails de l'implémentation

La méthode utilise un objet QuerySelect pour construire et exécuter la requête SQL. Les étapes incluent :

  1. Définition de la table source (bng.tr_departement) avec un alias (dept).
  2. Sélection des colonnes à retourner (dept.libelle comme name et dept.code comme code).
  3. Jointure avec la table bng.safer_departement_email pour relier les départements aux emails.
  4. Tri des résultats par libellé de département (dept.libelle).

Le résultat est un tableau de départements récupéré via la méthode fetchAll() de l'objet QuerySelect.

Héritage

La classe DepartementModel hérite de la classe Model, bénéficiant ainsi de ses fonctionnalités de base pour l'interaction avec la base de données.